var _fparentid = "-1",IDName = "";
/*
* @Description: 预加载
* @param :
*/
$(function(){
	$.fn.zTree.init($("#bomTree"), setting);
	initBomTable();
});
/*
* @Description: 产品代码文本框按F事件
* @param :
*/
$("#fNumber,#fName,#fModel").keydown(function(event){
	if(event.keyCode == "118"){
		IDName = event.target.id;
		$("#queryName").text("查询-物料代码");
		$("#ERPModal").modal('show');
	}
});
/*
* @Description: 模态框显示事件
* @param :
*/
$('#ERPModal').on('show.bs.modal', function () {
	fnResize();
});
/*
 * @Description: 模态框隐藏事件
 * @param :
 */
$('#ERPModal').on('hidden.bs.modal', function () {
	$.fn.zTree.init($("#bomTree"), setting);
	$('#fnumber,#fname,#fmodel').val("");
	_fparentid = "-1";
	initBomTable();
});

/*
* @Description: 树操作
* @param :
*/
var setting = {
	async : {
		enable : true,
		url : pathUrl("Bom/getAllBom.action"),
		type : "POST",
		dataFilter : filter
	},
	view : {
		dblClickExpand : false,
		selectedMulti : false,
		showIcon : false
	},
	edit : {
		enable : true,
		showRemoveBtn : false,
		showRenameBtn : false
	},
	data : {
		/*
		 * keep: { parent:true, leaf:true },
		 */
		simpleData : {
			enable : true,
		}
	},
	callback : {
		onClick : onClick,
		onAsyncSuccess : zTreeOnAsyncSuccess
	}
};

/*
* @Description: 对返回的json数据进行处理
* @param : treeId	对应zTree的treeId
* @param : parentNode	进行异步加载的父节点 JSON 数据对象
* @param : childNodes	异步加载获取到的数据
*/
function filter(treeId, parentNode, childNodes) {
	//	console.log(childNodes);
	if (!childNodes)
		return null;
	for ( var i = 0, l = childNodes.length; i < l; i++) {
		if (childNodes[i].pId == -1) {
			childNodes[i].open = "true";
		}
	}
	return childNodes;
}

/*
* @Description: 树异步加载正常结束的事件回调
* @param : event	js event对象
* @param : treeId	对应zTree的treeId
* @param : treeNode	被点击的节点JSON数据对象
* @param : msg	异步获取的节点数据字符串
*/
function zTreeOnAsyncSuccess(event, treeId, treeNode, msg) {
//	swal.close();//关闭提示框
}

/*
* @Description: 点击节点事件
* @param : event	js event对象
* @param : treeId	对应zTree的treeId
* @param : treeNode	被点击的节点JSON数据对象
* @param : clickFlag	节点被单击后的选中类型
*/
function onClick(event, treeId, treeNode, clickFlag) {
//	console.log(treeNode);
	var _pId = treeNode.pId;
	var _name = treeNode.name;
	var children = treeNode.children;
	var zTree = $.fn.zTree.getZTreeObj("bomTree");
	
	if(children == undefined){
		_fparentid = treeNode.id;
//		$("#info").text(_name+"BOM信息");
	}else{
		_fparentid = "-1";
		zTree.expandNode(treeNode);
//		$("#info").text("BOM信息");
	}
	$('#fnumber,#fname,#fmodel').val("");
	initBomTable();
}

/*
* @Description: 初始化bom表 
* @param :
*/
function initBomTable() {
	$("#bom").bootstrapTable('destroy').bootstrapTable({
		url : pathUrl("Bom/getAllBomTree.action"),
		height: $(window).height() * 0.65 - 30,
		method : "POST",
		//striped : true,
//		toolbar : '#toolbar',
		cache : false,
//		pagination : true,
//		pageNumber : 1,
//		pageSize : 10,
		sidePagination : "client", // 分页方式：client客户端分页，server服务端分页（*）
//		pageList : [ 10, 25, 50, 100 ],
		queryParams : function(params) {
			var data = {},fnumber = $("#fnumber").val(), fname = $("#fname").val(),
			fmodel =  $("#fmodel").val();
			data.row = 10000000;
			data.fnumber = fnumber;
			data.fname = fname;
			data.fmodel = fmodel;
			if(fnumber == "" && fname == "" && fmodel == ""){
				data.fparentid = _fparentid;
			}
//			console.log(data)
			return data;
		},
		dataType : 'JSON',
		uniqueId : "",
		columns : [ {
			field : 'fNumber',
			align : 'left',
			title : '代码',
			edit : false
		}, {
			field : 'fName',
			align : 'left',
			title : '名称',
			edit : false
		},/* {
			field : 'FFullName',
			align : 'center',
			title : '全名',
			edit : false
		}, */{
			field : 'FHelpCode',
			align : 'center',
			title : '助记码',
			formatter : attribute,
			edit : false
		}, {
			field : 'fModel',
			align : 'left',
			title : '规格型号',
			edit : false
		}],
		onClickRow : function(row, $element) {
//			console.log(row)
		},
		onPageChange : function(number, size) {
		},
		onDblClickRow : function(row, $element){
			if(IDName=='replacefNumber'){
				$("#replacefNumber").val(row.fNumber);//物料代码
			}
			else if(IDName=='replacefName'){
				$("#replacefName").val(row.fName);//物料名称
			}
			else if(IDName=='replacefModel'){
				$("#replacefModel").val(row.fModel);//规格型号
			}
			else if(IDName=='gaipicking'){
				console.log(row.fNumber);
				console.log(gaifnumberss);
				$.ajax({
					url : pathUrl("motorsRestruct/bomContrast.action"),
					dataType : "JSON",
					data : {'fSNumber' : row.fNumber,'fTNumber' : gaifnumberss},
					//data : {'fSNumber' :'05.01.08.1QJM32-1250','fTNumber' :'05.01.08.1QJM32-1600'},
					type : "POST",
					success : function(data) {
						if(data.code=='0000'){
							/*$('#publicgailTable').bootstrapTable('load', data.rows.dif);
							$('#tuigailTable').bootstrapTable('load', data.rows.same);*/
							$('#publicgailTable').bootstrapTable('load', data.rows.same);
							$('#tuigailTable').bootstrapTable('load', data.rows.dif);
							$("#duibireplaceModal").modal('show');
							$("#ERPModal").modal('hide');
						}
						else{
							swal_Tips(data.message,"error");
						}
					},
					error : function(request) {
						swal_Tips_Error();
					}
				});
				
				$('#publicgailTable').bootstrapTable('destroy').bootstrapTable({
					queryParams : function(params) {//传递参数
						var data= {};
						data.offset = params.offset;
						data.row = params.limit;
						return data;
					},
					dataType : 'JSON',//数据类型
					uniqueId : "id",//每一行的唯一标识，一般为主键列
					columns : [{
						 field : 'checked',
						 checkbox : true,
						 formatter : stateFormatter
					}, {
						field : "fChildNumber",
						valign: 'middle',
						title : '零件代码',
						edit : false
					},{
						field : "fChildName",
						valign: 'middle',
						title : '零件名称',
						edit : false
					}, {
						field : "fChildModel",
						valign: 'middle',
						title : '规格型号',
						edit : false
					}, {
						field : "fChildQty",
						valign: 'middle',
						title : '单位用量',
						edit : false
					}, {
						field : "fChildUnitName",
						valign: 'middle',
						title : '单位',
						edit : false
					},{
						field : 'fStockID',
						align : 'left',
						valign: 'middle',
						width:120,
						visible : true,
						width: '10%',
						title : '仓库',
						edit:{
							type : 'select',// 下拉框
					    	url : pathUrl("stock/getStockList.action"),
							method : 'POST',//请求方式（必填）
					    	valueField : 'fStockID',
					    	textField : 'fStockName',
					    	onSelect : function(val,rec){
					    		var $tr = $(this)[0].$el.closest("tr");
					    		var index = $tr.data('index');
					    		var row = {};
//								row.fDepName = rec.value;
								row.fStockID = val;
								$('#publicgailTable').bootstrapTable('updateRow',{index: index,row:row});
					    	}
						}
					}]
				});
				function stateFormatter(value, row, index) {
				    if (row.checked == true)
				        return {
				            checked : true//设置选中
				        };
				    return value;
				}
				$('#tuigailTable').bootstrapTable('destroy').bootstrapTable({
					queryParams : function(params) {//传递参数
						var data= {};
						data.offset = params.offset;
						data.row = params.limit;
						return data;
					},
					dataType : 'JSON',//数据类型
					uniqueId : "id",//每一行的唯一标识，一般为主键列
					columns : [{
						 field : 'checked',
						 checkbox : true,
						 formatter : stateFormatter
					}, {
						field : "fChildNumber",
						valign: 'middle',
						title : '零件代码',
						edit : false
					},{
						field : "fChildName",
						valign: 'middle',
						title : '零件名称',
						edit : false
					}, {
						field : "fChildModel",
						valign: 'middle',
						title : '规格型号',
						edit : false
					}, {
						field : "fChildQty",
						valign: 'middle',
						title : '单位用量',
						edit : false
					}, {
						field : "fChildUnitName",
						valign: 'middle',
						title : '单位',
						edit : false
					},{
						field : 'fStockID',
						align : 'left',
						valign: 'middle',
						width:120,
						visible : true,
						width: '10%',
						title : '仓库',
						edit:{
							type : 'select',// 下拉框
					    	url : pathUrl("stock/getStockList.action"),
							method : 'POST',//请求方式（必填）
					    	valueField : 'fStockID',
					    	textField : 'fStockName',
					    	onSelect : function(val,rec){
					    		var $tr = $(this)[0].$el.closest("tr");
					    		var index = $tr.data('index');
					    		var row = {};
//								row.fDepName = rec.value;
								row.fStockID = val;
								$('#tuigailTable').bootstrapTable('updateRow',{index: index,row:row});
					    	}
						}
					}]
				});
			}

			// console.log($('#value').text());

			// FIXME:如果是生产发料页面
			if ($('#value') && $('#value').text() === 'picking') {
				// 物料内码
				materielData.fItemId = row.fItemId;
				// 物料代码
				materielData.fNumber = row.fNumber;
				// 物料名称
				materielData.fName = row.fName;
				// 规格型号
				materielData.fModel = row.fModel;
				materielData.fEntryId = _fEntryId;
				materielData.fApplyId = _fApplyId;
				// console.log(materielData);
				$('#replacedblfNumber').val(row.fNumber);
				$('#replacedblfName').val(row.fName);
				$('#replacedblfModel').val(row.fModel);
				$('#helpCode').empty();
				// $('#replacedblfHelpCode').val(row.fHelpCode);
				$('#yingdbl').val('');
				$('#yingfudbl').val('');
				$('#yongdbl').val('');
				$('#huandbl').val('');
				$('#ERPModal').modal('hide');
				if(IDName=='gaipicking'){
					$("#duibireplaceModal").modal('show');
				}else{
					$("#replacedblModal").modal('show');
				}
			}
			//$("#ERPModal").modal('hide');
		}
	});
}
/*
* @Description: 格式化：物料属性
* @param :
*/
function attribute(value,row,index){
	str ="";
	if(value == 1){
		str = "外购";
	}else if(value == 2){
		str = "自制";
	}else if(value == 3){
		str = "委外加工";
	}else if(value == 5){
		str = "虚拟件";
	}
	return str;
}
/*
* @Description: 查询按钮点击事件 
* @param :
*/
$("#cx").click(function() {
	initBomTable();
});
/*
 * @Description: 重置按钮点击事件 
 * @param :
 */
$("#chongzhi").click(function() {
	$('#fnumber,#fname,#fmodel').val("");
	initBomTable();
});
/*
 * @Description: 查询按钮点击事件 
 * @param :
 */
$('#fnumber,#fname,#fmodel').keypress(function(event){
	if(event.keyCode == "13"){
		initBomTable();
	}
});
/*
 * @Description: 浏览器窗口大小改变后：
 * 				 class为ztree，divClassLeft，divClassRight的高度随之改变，
 * 				 divClassLeft的最大高度和最小高度随之改变
 * @param :
 */
function fnResize() {
	var height = $(window).height() * 0.7;//获取浏览器窗口大小
//	console.log(height)
	$("#modal-body").height(height);
	$("#showDivClassRight").height(height - 10);
	document.getElementsByClassName("ztree")[0].style.height = (height - 15) +"px";
//	$(".fixed-table-container thead th .th-inner").attr('padding',0);
}